#!/usr/bin/env node

const fs = require('fs')
const path = require('path')

console.log('🚀 正在设置 uni-app x + CoolUI 框架...\n')

// 检查 Node.js 版本
const nodeVersion = process.version
const majorVersion = parseInt(nodeVersion.slice(1).split('.')[0])

if (majorVersion < 16) {
  console.error('❌ 错误: 需要 Node.js 16.0.0 或更高版本')
  console.error(`   当前版本: ${nodeVersion}`)
  process.exit(1)
}

console.log(`✅ Node.js 版本检查通过: ${nodeVersion}`)

// 检查包管理器
const packageManager = process.env.npm_config_user_agent?.includes('pnpm') ? 'pnpm' :
  process.env.npm_config_user_agent?.includes('yarn') ? 'yarn' : 'npm'

console.log(`📦 检测到包管理器: ${packageManager}`)

// 创建必要的目录
const directories = [
  'src/components',
  'src/pages/login',
  'src/pages/register',
  'src/api',
  'src/config',
  'src/store',
  'src/types',
  'src/utils',
  'static'
]

directories.forEach(dir => {
  const dirPath = path.join(process.cwd(), dir)
  if (!fs.existsSync(dirPath)) {
    fs.mkdirSync(dirPath, { recursive: true })
    console.log(`📁 创建目录: ${dir}`)
  }
})

// 检查是否已安装依赖
const nodeModulesPath = path.join(process.cwd(), 'node_modules')
if (!fs.existsSync(nodeModulesPath)) {
  console.log('\n📦 正在安装依赖...')
  console.log(`   请运行: ${packageManager} install`)
} else {
  console.log('✅ 依赖已安装')
}

// 检查 HBuilderX
console.log('\n🔧 开发环境检查:')
console.log('   请确保已安装 HBuilderX 4.0.0 或更高版本')
console.log('   下载地址: https://www.dcloud.io/hbuilderx.html')

// 配置说明
console.log('\n⚙️  配置说明:')
console.log('   1. 修改 src/config/index.ts 中的 API 地址')
console.log('   2. 在 HBuilderX 中打开项目')
console.log('   3. 选择运行平台并开始开发')

console.log('\n🎉 框架设置完成!')
console.log('\n📖 更多信息请查看 README.md 文件')
console.log('\n💡 快速开始:')
console.log('   1. 运行: npm run dev (或 pnpm dev)')
console.log('   2. 在 HBuilderX 中预览项目')
console.log('   3. 开始您的开发之旅!')
